﻿using System;
using LM.Negocio.Objetos;
namespace LM.Negocio.Validadores
{
    /// <summary>
    /// Rafael.
    /// Classe que verifica a consistencia do Relatorio.
    /// </summary>
    public class ValidadorDeRelatorio : ValidadorAbastrato
    {
        
        public void ValideRelatorioPorPeriodo(DateTime dataInicial, DateTime dataFinal)
        {
            base.LimpeInconsistencias();

            //verificar se as datas são validas? como
            ValidaDataFinalMaiorQueDataInicial(dataInicial, dataFinal);

            base.GarantaSucesso();
        }

        public void ValideRelatorioPorCliente(Cliente cliente) 
        {
            if (cliente == null)
            {
                throw new ArgumentException("cliente");
            }

            //base.LimpeInconsistencias();

            //verifica se á no minimo 1 ocorrencia para este cliente consultando o repositorio de locacao

            //base.GarantaSucesso();
        }

        private void ValidaDataFinalMaiorQueDataInicial(DateTime dataInicial, DateTime dataFinal) 
        {
            if (dataInicial > dataFinal)
            {
                AdicioneInconsistencia("A Data Final informada é maior que a Data Inicial.");
            }
        }
    }
}
